home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 15 / BBS in a box XV-2.iso / Files II / Prog / M / MacOberon 4.0.sit / MacOberon 4.0 / Toolbox Interfaces / MacFiles.Mod (.txt) < prev    next >
Encoding:
Oberon Text  |  1993-10-25  |  5.9 KB  |  123 lines  |  [.Ob./.Ob5]

  1. Syntax10.Scn.Fnt
  2. Syntax10b.Scn.Fnt
  3. Syntax10i.Scn.Fnt
  4. ParcElems
  5. Alloc
  6. MODULE MacFiles;    (*od 25.10.93*)
  7. (* This Module contains some essential constants, data types and routines from
  8. the NEW Inside Macintosh volume
  9.             Files
  10. Edit.Open DK.MacOberonApp.Text for more information on how to create
  11. standalone Macintosh applications using MacOberon. *)
  12. IMPORT
  13.     SYSTEM, ME:=MacMemory, IM:=MacImaging, TB:=MacToolbox;
  14.     FSSpecPtr* = POINTER- TO FSSpec;
  15.     FSSpec* = RECORD
  16.         vRefNum*: INTEGER;
  17.         parID*: LONGINT;
  18.         name*: ARRAY 64 OF CHAR    (* Attention : Pascal String! Length in char 0 *)
  19.     END;
  20.     FInfo* = RECORD
  21.         fdType*: LONGINT;
  22.         fdCreator*: LONGINT;
  23.         fdFlags*: INTEGER;
  24.         fdLocation*: IM.Point;
  25.         fdFldr*: INTEGER
  26.     END;
  27.     (* Standard File Package *)
  28.     StandardFileReply* = RECORD
  29.         sfGood*: BOOLEAN;
  30.         sfReplacing*: BOOLEAN;
  31.         sfType*: LONGINT;
  32.         sfFile*: FSSpec;
  33.         sfScript*: INTEGER;
  34.         sfFlags*: INTEGER;
  35.         sfIsFolder*: BOOLEAN;
  36.         sfIsVolume*: BOOLEAN;
  37.         sfReserved1: LONGINT;
  38.         sfReserved2: INTEGER
  39.      END;
  40.     SFTypeList* = ARRAY 4 OF LONGINT;
  41. (* Register-based traps *)
  42.     PROCEDURE- Open*    0A0H, 000H;
  43.     PROCEDURE- Close*    0A0H, 001H;
  44.     PROCEDURE- Read*    0A0H, 002H;
  45.     PROCEDURE- Write*    0A0H, 003H;
  46.     PROCEDURE- Control*    0A0H, 004H;
  47.     PROCEDURE- Status*    0A0H, 005H;
  48.     PROCEDURE- KillIO*    0A0H, 006H;
  49.     PROCEDURE- GetVolInfo*    0A0H, 007H;
  50.     PROCEDURE- Create*    0A0H, 008H;
  51.     PROCEDURE- Delete*    0A0H, 009H;
  52.     PROCEDURE- OpenRF*    0A0H, 00AH;
  53.     PROCEDURE- Rename*    0A0H, 00BH;
  54.     PROCEDURE- GetFileInfo*    0A0H, 00CH;
  55.     PROCEDURE- SetFileInfo*    0A0H, 00DH;
  56.     PROCEDURE- UnmountVol*    0A0H, 00EH;
  57.     PROCEDURE- MountVol*    0A0H, 00FH;
  58.     PROCEDURE- Allocate*    0A0H, 010H;
  59.     PROCEDURE- FlushVol*    0A0H, 013H;
  60.     PROCEDURE- GetVol*    0A0H, 014H;
  61.     PROCEDURE- SetVol*    0A0H, 015H;
  62.     PROCEDURE- FInitQueue*    0A0H, 016H;
  63.     PROCEDURE- Eject*    0A0H, 017H;
  64. (* New FSp Traps *)
  65.     PROCEDURE- FSMakeFSSpec*(vRefNum: INTEGER;dirID: LONGINT;fileName: ME.Str255;VAR spec: FSSpec) : INTEGER
  66.         030H,03CH,000H,001H,0AAH,052H;
  67.     PROCEDURE- FSpOpenDF*(spec: FSSpec;permission: SHORTINT;VAR refNum: INTEGER): INTEGER
  68.         030H,03CH,000H,002H,0AAH,052H;
  69.     PROCEDURE- FSpOpenRF*(spec: FSSpec ;permission: SHORTINT;VAR refNum: INTEGER): INTEGER
  70.         030H,03CH,000H,003H,0AAH,052H;
  71.     PROCEDURE- FSpCreate*(spec: FSSpec ;creator: LONGINT;fileType: LONGINT;scriptTag: INTEGER): INTEGER
  72.         030H,03CH,000H,004H,0AAH,052H;
  73.     PROCEDURE- FSpDirCreate*(spec: FSSpec;scriptTag: INTEGER;VAR createdDirID: LONGINT): INTEGER
  74.         030H,03CH,000H,005H,0AAH,052H;
  75.     PROCEDURE- FSpDelete*(spec: FSSpec): INTEGER    030H,03CH,000H,006H,0AAH,052H;
  76.     PROCEDURE- FSpGetFInfo*(spec: FSSpec;VAR fndrInfo: FInfo): INTEGER    030H,03CH,000H,007H,0AAH,052H;
  77.     PROCEDURE- FSpSetFInfo*(spec: FSSpec;fndrInfo: FInfo): INTEGER    030H,03CH,000H,008H,0AAH,052H;
  78.     PROCEDURE- FSpSetFLock*(spec: FSSpec): INTEGER    030H,03CH,000H,009H,0AAH,052H;
  79.     PROCEDURE- FSpRstFLock*(spec: FSSpec): INTEGER    030H,03CH,000H,00AH,0AAH,052H;
  80.     PROCEDURE- FSpRename*(spec: FSSpec;newName: ME.Str255): INTEGER    030H,03CH,000H,00BH,0AAH,052H;
  81.     PROCEDURE- FSpCatMove*(source: FSSpec;dest: FSSpec): INTEGER    030H,03CH,000H,00CH,0AAH,052H;
  82.     PROCEDURE- FSpExchangeFiles*(source: FSSpec;dest: FSSpec): INTEGER    030H,03CH,000H,00FH,0AAH,052H;
  83. (* Standard File Package *)
  84.     PROCEDURE- StandardPutFile*(prompt: ME.Str255;defaultName: ME.Str255;VAR reply: StandardFileReply)
  85.         03FH,03CH,000H,005H,0A9H,0EAH;
  86.     PROCEDURE- StandardGetFile*(fileFilter: PROCEDURE;numTypes: INTEGER;typeList: SFTypeList;VAR reply: StandardFileReply)
  87.         03FH,03CH,000H,006H,0A9H,0EAH;
  88.     PROCEDURE- CustomGetFile*(fileFilter : PROCEDURE;
  89.         numType : INTEGER;typeList : SFTypeList;VAR reply : StandardFileReply;
  90.         dlgID : INTEGER;where : IM.Point;dlgHook : PROCEDURE;
  91.         filterProc : PROCEDURE;activeList : LONGINT;
  92.         activateProc : PROCEDURE;yourDataPtr : LONGINT)    03FH,03CH,000H,008H,0A9H,0EAH;
  93. (* Essential File routines using standard Oberon interface *)
  94.     PROCEDURE - FSClose* (refNum: INTEGER): INTEGER
  95.         04EH, 056H, 0FFH, 0CEH,041H, 0EEH, 0FFH, 0CEH,031H, 06EH, 000H, 004H, 000H, 018H,
  96.         0A0H, 001H, 04EH, 05EH,054H, 08FH, 03EH, 080H;
  97.     PROCEDURE - FSRead* (refNum: INTEGER; VAR count: LONGINT; buffPtr: ME.Ptr): INTEGER
  98.         04EH, 056H, 0FFH, 0CEH,041H, 0EEH, 0FFH, 0CEH,021H, 06EH, 000H, 004H, 000H, 020H,
  99.         031H, 06EH, 000H, 00CH, 000H, 018H,022H, 06EH, 000H, 008H, 021H, 051H, 000H, 024H,
  100.         042H, 068H, 000H, 02CH, 042H, 0A8H, 000H, 02EH,0A0H, 002H, 022H, 06EH, 000H, 008H, 
  101.         022H, 0A8H, 000H, 028H,04EH, 05EH,0DEH, 0FCH, 000H, 00AH,03EH, 080H;
  102.     PROCEDURE - FSWrite* (refNum: INTEGER; VAR count: LONGINT; buffPtr: ME.Ptr): INTEGER
  103.         04EH, 056H, 0FFH, 0CEH,041H, 0EEH, 0FFH, 0CEH,021H, 06EH, 000H, 004H, 000H, 020H,
  104.         031H, 06EH, 000H, 00CH, 000H, 018H,022H, 06EH, 000H, 008H,021H, 051H, 000H, 024H,
  105.         042H, 068H, 000H, 02CH,042H, 0A8H, 000H, 02EH,0A0H, 003H,022H, 06EH, 000H, 008H,
  106.         022H, 0A8H, 000H, 028H,04EH, 05EH, 0DEH, 0FCH, 000H, 00AH,03EH, 080H;
  107.     PROCEDURE - SetEOF* (refNum: INTEGER; logEOF: LONGINT): INTEGER
  108.         04EH, 056H, 0FFH, 0CEH,041H, 0EEH, 0FFH, 0CEH,031H, 06EH, 000H, 008H, 000H, 018H,
  109.         021H, 06EH, 000H, 004H, 000H, 01CH,0A0H, 012H,04EH, 05EH,05CH, 08FH,
  110.         03EH, 080H;
  111.     PROCEDURE - GetFPos* (refNum: INTEGER; VAR filePos: LONGINT): INTEGER
  112.         04EH, 056H, 0FFH, 0CEH,041H, 0EEH, 0FFH, 0CEH,031H, 06EH, 000H, 008H, 000H, 018H,
  113.         0A0H, 018H,022H, 06EH, 000H, 004H,022H, 0A8H, 000H, 02EH,04EH, 05EH, 
  114.         05CH, 08FH,03EH, 080H;
  115.     PROCEDURE - SetFPos* (refNum, posMode: INTEGER; posOff: LONGINT): INTEGER
  116.         04EH, 056H, 0FFH, 0CEH,041H, 0EEH, 0FFH, 0CEH,031H, 06EH, 000H, 00AH, 000H, 018H,
  117.         031H, 06EH, 000H, 008H, 000H, 02CH,021H, 06EH, 000H, 004H, 000H, 02EH,0A0H, 044H,
  118.         04EH, 05EH,050H, 08FH,03EH, 080H;
  119.     PROCEDURE- GetEOF*(refNum: INTEGER; VAR logEOF: LONGINT): INTEGER
  120.         04EH, 056H, 0FFH, 0CEH,041H, 0EEH, 0FFH, 0CEH,031H, 06EH, 000H, 008H, 000H, 018H, 
  121.         0A0H, 011H,022H, 06EH, 000H, 004H,022H, 0A8H, 000H, 01CH,04EH, 05EH,05CH, 08FH,03EH, 080H;
  122. END MacFiles.
  123.